﻿2026-08-01T15:16:51.4227692Z Current runner version: '2.336.0'
2026-08-01T15:16:51.4257409Z ##[group]Runner Image Provisioner
2026-08-01T15:16:51.4258645Z Hosted Compute Agent
2026-08-01T15:16:51.4259476Z Version: 20260707.563
2026-08-01T15:16:51.4260359Z Commit: 02667638d2b423fbc733a8e32a88b44996a3ba6e
2026-08-01T15:16:51.4261847Z Build Date: 2026-07-07T19:33:50Z
2026-08-01T15:16:51.4262789Z Worker ID: {191cb77c-29a1-4656-ba6a-4bb2b668ded9}
2026-08-01T15:16:51.4263764Z Azure Region: westus3
2026-08-01T15:16:51.4264601Z ##[endgroup]
2026-08-01T15:16:51.4267177Z ##[group]Operating System
2026-08-01T15:16:51.4268124Z Ubuntu
2026-08-01T15:16:51.4268849Z 24.04.4
2026-08-01T15:16:51.4269553Z LTS
2026-08-01T15:16:51.4270349Z ##[endgroup]
2026-08-01T15:16:51.4271361Z ##[group]Runner Image
2026-08-01T15:16:51.4272216Z Image: ubuntu-24.04
2026-08-01T15:16:51.4273053Z Version: 20260720.247.2
2026-08-01T15:16:51.4274729Z Included Software: https://github.com/actions/runner-images/blob/ubuntu24/20260720.247/images/ubuntu/Ubuntu2404-Readme.md
2026-08-01T15:16:51.4277013Z Image Release: https://github.com/actions/runner-images/releases/tag/ubuntu24%2F20260720.247
2026-08-01T15:16:51.4278262Z ##[endgroup]
2026-08-01T15:16:51.4279578Z ##[group]GITHUB_TOKEN Permissions
2026-08-01T15:16:51.4282069Z Contents: read
2026-08-01T15:16:51.4282836Z Metadata: read
2026-08-01T15:16:51.4283477Z ##[endgroup]
2026-08-01T15:16:51.4285997Z Secret source: Actions
2026-08-01T15:16:51.4287321Z Prepare workflow directory
2026-08-01T15:16:51.6793507Z Prepare all required actions
2026-08-01T15:16:51.6913502Z Getting action download info
2026-08-01T15:16:52.0264807Z Download action repository 'actions/checkout@v4' (SHA:11d5960a326750d5838078e36cf38b85af677262)
2026-08-01T15:16:55.0361344Z Download action repository 'actions/setup-python@v5' (SHA:a26af69be951a213d495a4c3e4e4022e16d87065)
2026-08-01T15:16:56.9955185Z Complete job name: Backend – 667 tests (single run)
2026-08-01T15:16:57.0483354Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-01T15:16:57.0489702Z ##[group]Run actions/checkout@v4
2026-08-01T15:16:57.0490159Z with:
2026-08-01T15:16:57.0490742Z   fetch-depth: 0
2026-08-01T15:16:57.0491154Z   repository: Gamexgit/FinanceManager
2026-08-01T15:16:57.0493216Z   token: ***
2026-08-01T15:16:57.0493570Z   ssh-strict: true
2026-08-01T15:16:57.0493865Z   ssh-user: git
2026-08-01T15:16:57.0494159Z   persist-credentials: true
2026-08-01T15:16:57.0494504Z   clean: true
2026-08-01T15:16:57.0494803Z   sparse-checkout-cone-mode: true
2026-08-01T15:16:57.0495152Z   fetch-tags: false
2026-08-01T15:16:57.0495467Z   show-progress: true
2026-08-01T15:16:57.0495765Z   lfs: false
2026-08-01T15:16:57.0496165Z   submodules: false
2026-08-01T15:16:57.0496479Z   set-safe-directory: true
2026-08-01T15:16:57.0496801Z   allow-unsafe-pr-checkout: false
2026-08-01T15:16:57.0497310Z env:
2026-08-01T15:16:57.0497571Z   PYTHONPATH: src
2026-08-01T15:16:57.0497905Z   JARVIS_FINANCE_ENV: test
2026-08-01T15:16:57.0498335Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-backend/finance.sqlite3
2026-08-01T15:16:57.0498840Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-backend/runtime
2026-08-01T15:16:57.0499272Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T15:16:57.0499591Z ##[endgroup]
2026-08-01T15:16:57.1545075Z Syncing repository: Gamexgit/FinanceManager
2026-08-01T15:16:57.1547102Z ##[group]Getting Git version info
2026-08-01T15:16:57.1547830Z Working directory is '/home/runner/work/FinanceManager/FinanceManager'
2026-08-01T15:16:57.1550325Z [command]/usr/bin/git version
2026-08-01T15:16:57.1551076Z git version 2.54.0
2026-08-01T15:16:57.1632114Z ##[endgroup]
2026-08-01T15:16:57.1654453Z Temporarily overriding HOME='/home/runner/work/_temp/d4fa4486-cb04-4d20-8055-aef7c4c1cda1' before making global git config changes
2026-08-01T15:16:57.1656668Z Adding repository directory to the temporary git global config as a safe directory
2026-08-01T15:16:57.1658297Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/FinanceManager/FinanceManager
2026-08-01T15:16:57.2738597Z Deleting the contents of '/home/runner/work/FinanceManager/FinanceManager'
2026-08-01T15:16:57.2745848Z ##[group]Initializing the repository
2026-08-01T15:16:57.2755289Z [command]/usr/bin/git init /home/runner/work/FinanceManager/FinanceManager
2026-08-01T15:16:57.3647391Z hint: Using 'master' as the name for the initial branch. This default branch name
2026-08-01T15:16:57.3649820Z hint: will change to "main" in Git 3.0. To configure the initial branch name
2026-08-01T15:16:57.3651164Z hint: to use in all of your new repositories, which will suppress this warning,
2026-08-01T15:16:57.3651947Z hint: call:
2026-08-01T15:16:57.3652644Z hint:
2026-08-01T15:16:57.3653299Z hint: 	git config --global init.defaultBranch <name>
2026-08-01T15:16:57.3653905Z hint:
2026-08-01T15:16:57.3654535Z hint: Names commonly chosen instead of 'master' are 'main', 'trunk' and
2026-08-01T15:16:57.3655386Z hint: 'development'. The just-created branch can be renamed via this command:
2026-08-01T15:16:57.3656267Z hint:
2026-08-01T15:16:57.3656828Z hint: 	git branch -m <name>
2026-08-01T15:16:57.3657369Z hint:
2026-08-01T15:16:57.3658086Z hint: Disable this message with "git config set advice.defaultBranchName false"
2026-08-01T15:16:57.3659139Z Initialized empty Git repository in /home/runner/work/FinanceManager/FinanceManager/.git/
2026-08-01T15:16:57.3664176Z [command]/usr/bin/git remote add origin https://github.com/Gamexgit/FinanceManager
2026-08-01T15:16:57.3679406Z ##[endgroup]
2026-08-01T15:16:57.3680298Z ##[group]Disabling automatic garbage collection
2026-08-01T15:16:57.3682947Z [command]/usr/bin/git config --local gc.auto 0
2026-08-01T15:16:57.3709067Z ##[endgroup]
2026-08-01T15:16:57.3710196Z ##[group]Setting up auth
2026-08-01T15:16:57.3743570Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-08-01T15:16:57.3769917Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-08-01T15:16:57.4039717Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-08-01T15:16:57.4062447Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-08-01T15:16:57.4240384Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-08-01T15:16:57.4273842Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-08-01T15:16:57.4447549Z [command]/usr/bin/git config --local http.https://github.com/.extraheader AUTHORIZATION: basic ***
2026-08-01T15:16:57.4474839Z ##[endgroup]
2026-08-01T15:16:57.4475799Z ##[group]Fetching the repository
2026-08-01T15:16:57.4483331Z [command]/usr/bin/git -c protocol.version=2 fetch --prune --no-recurse-submodules origin +refs/heads/*:refs/remotes/origin/* +refs/tags/*:refs/tags/* +af0a9360ea424857788d2bd7c9e0d8d2f3369158:refs/remotes/pull/30/merge
2026-08-01T15:16:58.7489263Z From https://github.com/Gamexgit/FinanceManager
2026-08-01T15:16:58.7490892Z  * [new branch]      Sprint14/twr-xirr-performance-attribution -> origin/Sprint14/twr-xirr-performance-attribution
2026-08-01T15:16:58.7492528Z  * [new branch]      Sprint15/household-import-transfer-reconciliation-v1 -> origin/Sprint15/household-import-transfer-reconciliation-v1
2026-08-01T15:16:58.7494039Z  * [new branch]      Sprint16/hotfix-openpyxl-runtime-dependency -> origin/Sprint16/hotfix-openpyxl-runtime-dependency
2026-08-01T15:16:58.7495455Z  * [new branch]      Sprint16/smart-household-inbox-real-data-onboarding-v2 -> origin/Sprint16/smart-household-inbox-real-data-onboarding-v2
2026-08-01T15:16:58.7497229Z  * [new branch]      feat/budget-analytics-data-explorer-v1   -> origin/feat/budget-analytics-data-explorer-v1
2026-08-01T15:16:58.7498635Z  * [new branch]      feat/budget-categories-duplicates-cleanup -> origin/feat/budget-categories-duplicates-cleanup
2026-08-01T15:16:58.7499818Z  * [new branch]      feat/budget-categories-ux-fix            -> origin/feat/budget-categories-ux-fix
2026-08-01T15:16:58.7501233Z  * [new branch]      feat/budget-import-production-v2         -> origin/feat/budget-import-production-v2
2026-08-01T15:16:58.7502788Z  * [new branch]      feat/budget-monthly-import-rule-learning-v1 -> origin/feat/budget-monthly-import-rule-learning-v1
2026-08-01T15:16:58.7503956Z  * [new branch]      feat/budget-phase-1-4                    -> origin/feat/budget-phase-1-4
2026-08-01T15:16:58.7504956Z  * [new branch]      feat/budget-planning-forecast-v1         -> origin/feat/budget-planning-forecast-v1
2026-08-01T15:16:58.7506057Z  * [new branch]      feat/budget-planning-usability-v2        -> origin/feat/budget-planning-usability-v2
2026-08-01T15:16:58.7507229Z  * [new branch]      feat/budget-review-bulk-assign-confirm   -> origin/feat/budget-review-bulk-assign-confirm
2026-08-01T15:16:58.7508301Z  * [new branch]      feat/budget-workflow-help-ux             -> origin/feat/budget-workflow-help-ux
2026-08-01T15:16:58.7509517Z  * [new branch]      feat/finance-command-center-monthly-close-v1 -> origin/feat/finance-command-center-monthly-close-v1
2026-08-01T15:16:58.7511087Z  * [new branch]      feat/fixed-costs-subscriptions-v1        -> origin/feat/fixed-costs-subscriptions-v1
2026-08-01T15:16:58.7512299Z  * [new branch]      feat/grocery-matching-review-learning-v2 -> origin/feat/grocery-matching-review-learning-v2
2026-08-01T15:16:58.7513775Z  * [new branch]      feat/grocery-product-price-providers-v1  -> origin/feat/grocery-product-price-providers-v1
2026-08-01T15:16:58.7515099Z  * [new branch]      feat/migros-product-savings-grocery-optimizer-v1 -> origin/feat/migros-product-savings-grocery-optimizer-v1
2026-08-01T15:16:58.7516396Z  * [new branch]      feat/mobile-nav-income-csv-final         -> origin/feat/mobile-nav-income-csv-final
2026-08-01T15:16:58.7517540Z  * [new branch]      feat/mobile-nav-income-hotfix-v2         -> origin/feat/mobile-nav-income-hotfix-v2
2026-08-01T15:16:58.7518654Z  * [new branch]      feat/mobile-nav-income-planning-v1       -> origin/feat/mobile-nav-income-planning-v1
2026-08-01T15:16:58.7519755Z  * [new branch]      fix/manual-entry-uat-flows               -> origin/fix/manual-entry-uat-flows
2026-08-01T15:16:58.7521119Z  * [new branch]      fix/sprint16.2-insurance-family-order    -> origin/fix/sprint16.2-insurance-family-order
2026-08-01T15:16:58.7522499Z  * [new branch]      hotfix/sprint13-global-portfolio-aggregation -> origin/hotfix/sprint13-global-portfolio-aggregation
2026-08-01T15:16:58.7523752Z  * [new branch]      hotfix/sprint8-kpi-overflow              -> origin/hotfix/sprint8-kpi-overflow
2026-08-01T15:16:58.7524818Z  * [new branch]      hotfix/sprint8-readonly-render           -> origin/hotfix/sprint8-readonly-render
2026-08-01T15:16:58.7526027Z  * [new branch]      integration/portfolio-phase3-to-main     -> origin/integration/portfolio-phase3-to-main
2026-08-01T15:16:58.7527410Z  * [new branch]      main                                     -> origin/main
2026-08-01T15:16:58.7528539Z  * [new branch]      sprint10/portfolio-go-live               -> origin/sprint10/portfolio-go-live
2026-08-01T15:16:58.7529740Z  * [new branch]      sprint11/portfolio-completeness-ux       -> origin/sprint11/portfolio-completeness-ux
2026-08-01T15:16:58.7531171Z  * [new branch]      sprint12/truewealth-verified-import      -> origin/sprint12/truewealth-verified-import
2026-08-01T15:16:58.7532638Z  * [new branch]      sprint13/postfinance-ledger-import       -> origin/sprint13/postfinance-ledger-import
2026-08-01T15:16:58.7534196Z  * [new branch]      sprint16.1/classification-coverage-import-readiness -> origin/sprint16.1/classification-coverage-import-readiness
2026-08-01T15:16:58.7535813Z  * [new branch]      sprint16.2/first-import-calibration-portal-flow -> origin/sprint16.2/first-import-calibration-portal-flow
2026-08-01T15:16:58.7537385Z  * [new branch]      sprint16.3/import-readiness-batched-decisions-performance -> origin/sprint16.3/import-readiness-batched-decisions-performance
2026-08-01T15:16:58.7538782Z  * [new branch]      sprint17a/data-truth                     -> origin/sprint17a/data-truth
2026-08-01T15:16:58.7539801Z  * [new branch]      sprint17b/equity-quote-refresh           -> origin/sprint17b/equity-quote-refresh
2026-08-01T15:16:58.7541018Z  * [new branch]      sprint17b/household-cockpit              -> origin/sprint17b/household-cockpit
2026-08-01T15:16:58.7542204Z  * [new branch]      sprint17c/data-truth-navigation-today-lite -> origin/sprint17c/data-truth-navigation-today-lite
2026-08-01T15:16:58.7543502Z  * [new branch]      sprint17d/annual-budget-recurring-semantics -> origin/sprint17d/annual-budget-recurring-semantics
2026-08-01T15:16:58.7544702Z  * [new branch]      sprint2/navigation-design-shell          -> origin/sprint2/navigation-design-shell
2026-08-01T15:16:58.7545927Z  * [new branch]      sprint3.1/reconciliation-semantic-hardening -> origin/sprint3.1/reconciliation-semantic-hardening
2026-08-01T15:16:58.7547256Z  * [new branch]      sprint3/reconciliation-snapshot-foundation -> origin/sprint3/reconciliation-snapshot-foundation
2026-08-01T15:16:58.7548555Z  * [new branch]      sprint4.1/portfolio-policy-contract-hardening -> origin/sprint4.1/portfolio-policy-contract-hardening
2026-08-01T15:16:58.7550007Z  * [new branch]      sprint4/portfolio-policy-foundation      -> origin/sprint4/portfolio-policy-foundation
2026-08-01T15:16:58.7551542Z  * [new branch]      sprint5/portfolio-performance-foundation -> origin/sprint5/portfolio-performance-foundation
2026-08-01T15:16:58.7552873Z  * [new branch]      sprint6/portfolio-data-ingestion-reconciliation -> origin/sprint6/portfolio-data-ingestion-reconciliation
2026-08-01T15:16:58.7554140Z  * [new branch]      sprint7/postfinance-portfolio-source     -> origin/sprint7/postfinance-portfolio-source
2026-08-01T15:16:58.7555143Z  * [new branch]      sprint8/market-fx-benchmark-risk         -> origin/sprint8/market-fx-benchmark-risk
2026-08-01T15:16:58.7556103Z  * [new branch]      sprint9/portfolio-basis-policy           -> origin/sprint9/portfolio-basis-policy
2026-08-01T15:16:58.7556962Z  * [new tag]         v0.3.0                                   -> v0.3.0
2026-08-01T15:16:58.7557568Z  * [new tag]         v0.3.1                                   -> v0.3.1
2026-08-01T15:16:58.7558221Z  * [new tag]         v0.3.2                                   -> v0.3.2
2026-08-01T15:16:58.7558961Z  * [new ref]         af0a9360ea424857788d2bd7c9e0d8d2f3369158 -> pull/30/merge
2026-08-01T15:16:58.7612342Z ##[endgroup]
2026-08-01T15:16:58.7615769Z ##[group]Determining the checkout info
2026-08-01T15:16:58.7616387Z ##[endgroup]
2026-08-01T15:16:58.7616844Z [command]/usr/bin/git sparse-checkout disable
2026-08-01T15:16:58.7634720Z [command]/usr/bin/git config --local --unset-all extensions.worktreeConfig
2026-08-01T15:16:58.7669146Z ##[group]Checking out the ref
2026-08-01T15:16:58.7671495Z [command]/usr/bin/git checkout --progress --force refs/remotes/pull/30/merge
2026-08-01T15:16:58.8020269Z Note: switching to 'refs/remotes/pull/30/merge'.
2026-08-01T15:16:58.8022596Z 
2026-08-01T15:16:58.8023144Z You are in 'detached HEAD' state. You can look around, make experimental
2026-08-01T15:16:58.8031261Z changes and commit them, and you can discard any commits you make in this
2026-08-01T15:16:58.8035216Z state without impacting any branches by switching back to a branch.
2026-08-01T15:16:58.8035866Z 
2026-08-01T15:16:58.8036295Z If you want to create a new branch to retain commits you create, you may
2026-08-01T15:16:58.8037037Z do so (now or later) by using -c with the switch command. Example:
2026-08-01T15:16:58.8037527Z 
2026-08-01T15:16:58.8037984Z   git switch -c <new-branch-name>
2026-08-01T15:16:58.8038381Z 
2026-08-01T15:16:58.8038609Z Or undo this operation with:
2026-08-01T15:16:58.8038945Z 
2026-08-01T15:16:58.8039212Z   git switch -
2026-08-01T15:16:58.8042233Z 
2026-08-01T15:16:58.8042720Z Turn off this advice by setting config variable advice.detachedHead to false
2026-08-01T15:16:58.8043201Z 
2026-08-01T15:16:58.8043752Z HEAD is now at af0a936 Merge fc0161f09ad6d4bc00753313c10741e59c02873e into eeb1806e76783277c41dd5a8dbe7b73ccf844f12
2026-08-01T15:16:58.8045684Z ##[endgroup]
2026-08-01T15:16:58.8080813Z [command]/usr/bin/git log -1 --format=%H
2026-08-01T15:16:58.8081513Z af0a9360ea424857788d2bd7c9e0d8d2f3369158
2026-08-01T15:16:58.8295940Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-01T15:16:58.8297380Z ##[group]Run actions/setup-python@v5
2026-08-01T15:16:58.8297670Z with:
2026-08-01T15:16:58.8297916Z   python-version: 3.11
2026-08-01T15:16:58.8298181Z   cache: pip
2026-08-01T15:16:58.8298473Z   cache-dependency-path: requirements-ci.txt
2026-08-01T15:16:58.8298801Z   check-latest: false
2026-08-01T15:16:58.8300951Z   token: ***
2026-08-01T15:16:58.8301202Z   update-environment: true
2026-08-01T15:16:58.8301506Z   allow-prereleases: false
2026-08-01T15:16:58.8301790Z   freethreaded: false
2026-08-01T15:16:58.8302035Z env:
2026-08-01T15:16:58.8302277Z   PYTHONPATH: src
2026-08-01T15:16:58.8302537Z   JARVIS_FINANCE_ENV: test
2026-08-01T15:16:58.8303016Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-backend/finance.sqlite3
2026-08-01T15:16:58.8303481Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-backend/runtime
2026-08-01T15:16:58.8303874Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T15:16:58.8304155Z ##[endgroup]
2026-08-01T15:16:58.9494178Z ##[group]Installed versions
2026-08-01T15:16:58.9568131Z (node:1924) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-08-01T15:16:58.9569338Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-08-01T15:16:58.9570375Z Successfully set up CPython (3.11.15)
2026-08-01T15:16:58.9571705Z ##[endgroup]
2026-08-01T15:16:58.9935772Z [command]/opt/hostedtoolcache/Python/3.11.15/x64/bin/pip cache dir
2026-08-01T15:16:59.3168982Z /home/runner/.cache/pip
2026-08-01T15:16:59.5633951Z pip cache is not found
2026-08-01T15:16:59.5742904Z ##[group]Run python -m pip install -e . -r requirements-ci.txt
2026-08-01T15:16:59.5743493Z [36;1mpython -m pip install -e . -r requirements-ci.txt[0m
2026-08-01T15:16:59.5773315Z shell: /usr/bin/bash -e {0}
2026-08-01T15:16:59.5773643Z env:
2026-08-01T15:16:59.5773894Z   PYTHONPATH: src
2026-08-01T15:16:59.5774177Z   JARVIS_FINANCE_ENV: test
2026-08-01T15:16:59.5774549Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-backend/finance.sqlite3
2026-08-01T15:16:59.5775050Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-backend/runtime
2026-08-01T15:16:59.5775459Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T15:16:59.5775799Z   pythonLocation: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:16:59.5776206Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib/pkgconfig
2026-08-01T15:16:59.5776616Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:16:59.5777015Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:16:59.5777505Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:16:59.5777898Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib
2026-08-01T15:16:59.5778259Z ##[endgroup]
2026-08-01T15:17:00.6765841Z Obtaining file:///home/runner/work/FinanceManager/FinanceManager
2026-08-01T15:17:00.6779211Z   Installing build dependencies: started
2026-08-01T15:17:01.6833051Z   Installing build dependencies: finished with status 'done'
2026-08-01T15:17:01.6838015Z   Checking if build backend supports build_editable: started
2026-08-01T15:17:01.9212401Z   Checking if build backend supports build_editable: finished with status 'done'
2026-08-01T15:17:01.9220741Z   Getting requirements to build editable: started
2026-08-01T15:17:02.1552494Z   Getting requirements to build editable: finished with status 'done'
2026-08-01T15:17:02.1557256Z   Preparing editable metadata (pyproject.toml): started
2026-08-01T15:17:02.2976288Z   Preparing editable metadata (pyproject.toml): finished with status 'done'
2026-08-01T15:17:02.4147651Z Collecting fastapi==0.136.1 (from -r requirements-ci.txt (line 1))
2026-08-01T15:17:02.4801938Z   Downloading fastapi-0.136.1-py3-none-any.whl.metadata (28 kB)
2026-08-01T15:17:02.5119210Z Collecting httpx==0.28.1 (from -r requirements-ci.txt (line 2))
2026-08-01T15:17:02.5237069Z   Downloading httpx-0.28.1-py3-none-any.whl.metadata (7.1 kB)
2026-08-01T15:17:02.5447315Z Collecting Jinja2==3.1.6 (from -r requirements-ci.txt (line 3))
2026-08-01T15:17:02.5553332Z   Downloading jinja2-3.1.6-py3-none-any.whl.metadata (2.9 kB)
2026-08-01T15:17:02.5752993Z Collecting openpyxl==3.1.5 (from -r requirements-ci.txt (line 4))
2026-08-01T15:17:02.5891800Z   Downloading openpyxl-3.1.5-py2.py3-none-any.whl.metadata (2.5 kB)
2026-08-01T15:17:02.6940016Z Collecting pandas==3.0.3 (from -r requirements-ci.txt (line 5))
2026-08-01T15:17:02.7052373Z   Downloading pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.metadata (79 kB)
2026-08-01T15:17:02.7598061Z Collecting plotly==6.7.0 (from -r requirements-ci.txt (line 6))
2026-08-01T15:17:02.7710333Z   Downloading plotly-6.7.0-py3-none-any.whl.metadata (8.6 kB)
2026-08-01T15:17:02.9107745Z Collecting pydantic==2.13.4 (from -r requirements-ci.txt (line 7))
2026-08-01T15:17:02.9211162Z   Downloading pydantic-2.13.4-py3-none-any.whl.metadata (109 kB)
2026-08-01T15:17:02.9539665Z Collecting pypdf==6.14.2 (from -r requirements-ci.txt (line 8))
2026-08-01T15:17:02.9643888Z   Downloading pypdf-6.14.2-py3-none-any.whl.metadata (7.2 kB)
2026-08-01T15:17:02.9924589Z Collecting pytest==9.0.2 (from -r requirements-ci.txt (line 9))
2026-08-01T15:17:03.0029388Z   Downloading pytest-9.0.2-py3-none-any.whl.metadata (7.6 kB)
2026-08-01T15:17:03.2772398Z Collecting ruff==0.15.13 (from -r requirements-ci.txt (line 10))
2026-08-01T15:17:03.2883196Z   Downloading ruff-0.15.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (26 kB)
2026-08-01T15:17:03.3208220Z Collecting streamlit==1.57.0 (from -r requirements-ci.txt (line 11))
2026-08-01T15:17:03.3321521Z   Downloading streamlit-1.57.0-py3-none-any.whl.metadata (9.6 kB)
2026-08-01T15:17:03.4112425Z Collecting uvicorn==0.47.0 (from -r requirements-ci.txt (line 12))
2026-08-01T15:17:03.4214559Z   Downloading uvicorn-0.47.0-py3-none-any.whl.metadata (6.7 kB)
2026-08-01T15:17:03.4408466Z Collecting xlrd==2.0.2 (from -r requirements-ci.txt (line 13))
2026-08-01T15:17:03.4510044Z   Downloading xlrd-2.0.2-py2.py3-none-any.whl.metadata (3.5 kB)
2026-08-01T15:17:03.4783167Z Collecting yfinance==1.3.0 (from -r requirements-ci.txt (line 14))
2026-08-01T15:17:03.4891619Z   Downloading yfinance-1.3.0-py2.py3-none-any.whl.metadata (6.1 kB)
2026-08-01T15:17:03.5159111Z Collecting starlette>=0.46.0 (from fastapi==0.136.1->-r requirements-ci.txt (line 1))
2026-08-01T15:17:03.5261801Z   Downloading starlette-1.3.1-py3-none-any.whl.metadata (6.4 kB)
2026-08-01T15:17:03.5473075Z Collecting typing-extensions>=4.8.0 (from fastapi==0.136.1->-r requirements-ci.txt (line 1))
2026-08-01T15:17:03.5573404Z   Downloading typing_extensions-4.16.0-py3-none-any.whl.metadata (3.3 kB)
2026-08-01T15:17:03.5739062Z Collecting typing-inspection>=0.4.2 (from fastapi==0.136.1->-r requirements-ci.txt (line 1))
2026-08-01T15:17:03.5862547Z   Downloading typing_inspection-0.4.2-py3-none-any.whl.metadata (2.6 kB)
2026-08-01T15:17:03.6031595Z Collecting annotated-doc>=0.0.2 (from fastapi==0.136.1->-r requirements-ci.txt (line 1))
2026-08-01T15:17:03.6133143Z   Downloading annotated_doc-0.0.5-py3-none-any.whl.metadata (6.5 kB)
2026-08-01T15:17:03.6353735Z Collecting anyio (from httpx==0.28.1->-r requirements-ci.txt (line 2))
2026-08-01T15:17:03.6458531Z   Downloading anyio-4.14.2-py3-none-any.whl.metadata (4.6 kB)
2026-08-01T15:17:03.6678507Z Collecting certifi (from httpx==0.28.1->-r requirements-ci.txt (line 2))
2026-08-01T15:17:03.6783138Z   Downloading certifi-2026.7.22-py3-none-any.whl.metadata (2.5 kB)
2026-08-01T15:17:03.6991563Z Collecting httpcore==1.* (from httpx==0.28.1->-r requirements-ci.txt (line 2))
2026-08-01T15:17:03.7089922Z   Downloading httpcore-1.0.9-py3-none-any.whl.metadata (21 kB)
2026-08-01T15:17:03.7274676Z Collecting idna (from httpx==0.28.1->-r requirements-ci.txt (line 2))
2026-08-01T15:17:03.7375758Z   Downloading idna-3.18-py3-none-any.whl.metadata (6.1 kB)
2026-08-01T15:17:03.7815315Z Collecting MarkupSafe>=2.0 (from Jinja2==3.1.6->-r requirements-ci.txt (line 3))
2026-08-01T15:17:03.7917596Z   Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (2.7 kB)
2026-08-01T15:17:03.8680768Z Collecting et-xmlfile (from openpyxl==3.1.5->-r requirements-ci.txt (line 4))
2026-08-01T15:17:03.8783711Z   Downloading et_xmlfile-2.0.0-py3-none-any.whl.metadata (2.7 kB)
2026-08-01T15:17:04.0576336Z Collecting numpy>=1.26.0 (from pandas==3.0.3->-r requirements-ci.txt (line 5))
2026-08-01T15:17:04.0682159Z   Downloading numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (6.6 kB)
2026-08-01T15:17:04.1372170Z Collecting python-dateutil>=2.8.2 (from pandas==3.0.3->-r requirements-ci.txt (line 5))
2026-08-01T15:17:04.1471113Z   Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl.metadata (8.4 kB)
2026-08-01T15:17:04.1798727Z Collecting narwhals>=1.15.1 (from plotly==6.7.0->-r requirements-ci.txt (line 6))
2026-08-01T15:17:04.1902571Z   Downloading narwhals-2.24.0-py3-none-any.whl.metadata (15 kB)
2026-08-01T15:17:04.2131591Z Collecting packaging (from plotly==6.7.0->-r requirements-ci.txt (line 6))
2026-08-01T15:17:04.2231336Z   Downloading packaging-26.2-py3-none-any.whl.metadata (3.5 kB)
2026-08-01T15:17:04.2402149Z Collecting annotated-types>=0.6.0 (from pydantic==2.13.4->-r requirements-ci.txt (line 7))
2026-08-01T15:17:04.2506590Z   Downloading annotated_types-0.8.0-py3-none-any.whl.metadata (15 kB)
2026-08-01T15:17:04.7671151Z Collecting pydantic-core==2.46.4 (from pydantic==2.13.4->-r requirements-ci.txt (line 7))
2026-08-01T15:17:04.7779707Z   Downloading pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (6.6 kB)
2026-08-01T15:17:04.9426169Z Collecting iniconfig>=1.0.1 (from pytest==9.0.2->-r requirements-ci.txt (line 9))
2026-08-01T15:17:04.9529882Z   Downloading iniconfig-2.3.0-py3-none-any.whl.metadata (2.5 kB)
2026-08-01T15:17:04.9715019Z Collecting pluggy<2,>=1.5 (from pytest==9.0.2->-r requirements-ci.txt (line 9))
2026-08-01T15:17:04.9815269Z   Downloading pluggy-1.6.0-py3-none-any.whl.metadata (4.8 kB)
2026-08-01T15:17:05.0044593Z Collecting pygments>=2.7.2 (from pytest==9.0.2->-r requirements-ci.txt (line 9))
2026-08-01T15:17:05.0144625Z   Downloading pygments-2.20.0-py3-none-any.whl.metadata (2.5 kB)
2026-08-01T15:17:05.0359642Z Collecting altair!=5.4.0,!=5.4.1,<7,>=4.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.0710151Z   Downloading altair-6.2.2-py3-none-any.whl.metadata (11 kB)
2026-08-01T15:17:05.0892928Z Collecting blinker<2,>=1.5.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.0994092Z   Downloading blinker-1.9.0-py3-none-any.whl.metadata (1.6 kB)
2026-08-01T15:17:05.1191241Z Collecting cachetools<8,>=5.5 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.1297213Z   Downloading cachetools-7.1.6-py3-none-any.whl.metadata (5.5 kB)
2026-08-01T15:17:05.3127252Z Collecting click<9,>=7.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.3231072Z   Downloading click-8.4.2-py3-none-any.whl.metadata (2.6 kB)
2026-08-01T15:17:05.3466014Z Collecting gitpython!=3.1.19,<4,>=3.0.7 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.3567166Z   Downloading gitpython-3.1.57-py3-none-any.whl.metadata (13 kB)
2026-08-01T15:17:05.6610168Z Collecting pillow<13,>=7.1.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.6714911Z   Downloading pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.metadata (9.1 kB)
2026-08-01T15:17:05.8609808Z Collecting pydeck<1,>=0.8.0b4 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:05.8714703Z   Downloading pydeck-0.9.3-py2.py3-none-any.whl.metadata (4.2 kB)
2026-08-01T15:17:06.0200364Z Collecting protobuf<8,>=3.20 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.0304376Z   Downloading protobuf-7.35.1-cp310-abi3-manylinux2014_x86_64.whl.metadata (595 bytes)
2026-08-01T15:17:06.0895622Z Collecting pyarrow>=7.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.0995151Z   Downloading pyarrow-25.0.0-cp311-cp311-manylinux_2_28_x86_64.whl.metadata (3.0 kB)
2026-08-01T15:17:06.1481954Z Collecting requests<3,>=2.27 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.1581359Z   Downloading requests-2.34.2-py3-none-any.whl.metadata (4.8 kB)
2026-08-01T15:17:06.1771938Z Collecting tenacity<10,>=8.1.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.1870796Z   Downloading tenacity-9.1.4-py3-none-any.whl.metadata (1.2 kB)
2026-08-01T15:17:06.2035368Z Collecting toml<2,>=0.10.1 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.2141564Z   Downloading toml-0.10.2-py2.py3-none-any.whl.metadata (7.1 kB)
2026-08-01T15:17:06.2447312Z Collecting httptools>=0.6.3 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.2547830Z   Downloading httptools-0.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (3.5 kB)
2026-08-01T15:17:06.2730141Z Collecting python-multipart>=0.0.10 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.2828905Z   Downloading python_multipart-0.0.32-py3-none-any.whl.metadata (2.1 kB)
2026-08-01T15:17:06.3561447Z Collecting websockets>=12.0.0 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.3663164Z   Downloading websockets-17.0.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl.metadata (6.3 kB)
2026-08-01T15:17:06.3822913Z Collecting itsdangerous>=2.1.2 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.3923067Z   Downloading itsdangerous-2.2.0-py3-none-any.whl.metadata (1.9 kB)
2026-08-01T15:17:06.4353464Z Collecting watchdog<7,>=2.1.5 (from streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.4457551Z   Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl.metadata (44 kB)
2026-08-01T15:17:06.4655204Z Collecting h11>=0.8 (from uvicorn==0.47.0->-r requirements-ci.txt (line 12))
2026-08-01T15:17:06.4754325Z   Downloading h11-0.16.0-py3-none-any.whl.metadata (8.3 kB)
2026-08-01T15:17:06.5617246Z Collecting multitasking>=0.0.7 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.5735929Z   Downloading multitasking-0.0.13-py3-none-any.whl.metadata (16 kB)
2026-08-01T15:17:06.5947462Z Collecting platformdirs>=2.0.0 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.6046875Z   Downloading platformdirs-4.11.0-py3-none-any.whl.metadata (5.5 kB)
2026-08-01T15:17:06.6367698Z Collecting pytz>=2022.5 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.6469215Z   Downloading pytz-2026.3.post1-py2.py3-none-any.whl.metadata (22 kB)
2026-08-01T15:17:06.6834405Z Collecting frozendict>=2.3.4 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.6935141Z   Downloading frozendict-2.4.7-py3-none-any.whl.metadata (23 kB)
2026-08-01T15:17:06.7157188Z Collecting peewee>=3.16.2 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.7258153Z   Downloading peewee-4.3.0-py3-none-any.whl.metadata (10 kB)
2026-08-01T15:17:06.7465901Z Collecting beautifulsoup4>=4.11.1 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.7570721Z   Downloading beautifulsoup4-4.15.0-py3-none-any.whl.metadata (3.8 kB)
2026-08-01T15:17:06.8018714Z Collecting curl_cffi>=0.15 (from yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:06.8119640Z   Downloading curl_cffi-0.16.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (17 kB)
2026-08-01T15:17:06.8445131Z Collecting jsonschema>=3.0 (from altair!=5.4.0,!=5.4.1,<7,>=4.0->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.8546589Z   Downloading jsonschema-4.26.0-py3-none-any.whl.metadata (7.6 kB)
2026-08-01T15:17:06.8762618Z Collecting gitdb<5,>=4.0.1 (from gitpython!=3.1.19,<4,>=3.0.7->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.8866162Z   Downloading gitdb-4.0.12-py3-none-any.whl.metadata (1.2 kB)
2026-08-01T15:17:06.9051522Z Collecting smmap<6,>=3.0.1 (from gitdb<5,>=4.0.1->gitpython!=3.1.19,<4,>=3.0.7->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:06.9143007Z   Downloading smmap-5.0.3-py3-none-any.whl.metadata (4.6 kB)
2026-08-01T15:17:06.9920076Z Collecting charset_normalizer<4,>=2 (from requests<3,>=2.27->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.0022160Z   Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl.metadata (41 kB)
2026-08-01T15:17:07.0276713Z Collecting urllib3<3,>=1.26 (from requests<3,>=2.27->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.0378510Z   Downloading urllib3-2.7.0-py3-none-any.whl.metadata (6.9 kB)
2026-08-01T15:17:07.0946127Z Collecting soupsieve>=1.6.1 (from beautifulsoup4>=4.11.1->yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:07.1045385Z   Downloading soupsieve-2.9.1-py3-none-any.whl.metadata (4.6 kB)
2026-08-01T15:17:07.1783357Z Collecting cffi>=2.0.0 (from curl_cffi>=0.15->yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:07.1883308Z   Downloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl.metadata (2.5 kB)
2026-08-01T15:17:07.3132800Z Collecting pycparser (from cffi>=2.0.0->curl_cffi>=0.15->yfinance==1.3.0->-r requirements-ci.txt (line 14))
2026-08-01T15:17:07.3232878Z   Downloading pycparser-3.0-py3-none-any.whl.metadata (8.2 kB)
2026-08-01T15:17:07.3441460Z Collecting attrs>=22.2.0 (from jsonschema>=3.0->altair!=5.4.0,!=5.4.1,<7,>=4.0->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.3533936Z   Downloading attrs-26.1.0-py3-none-any.whl.metadata (8.8 kB)
2026-08-01T15:17:07.3702440Z Collecting jsonschema-specifications>=2023.03.6 (from jsonschema>=3.0->altair!=5.4.0,!=5.4.1,<7,>=4.0->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.3801118Z   Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl.metadata (2.9 kB)
2026-08-01T15:17:07.4011141Z Collecting referencing>=0.28.4 (from jsonschema>=3.0->altair!=5.4.0,!=5.4.1,<7,>=4.0->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.4111141Z   Downloading referencing-0.37.0-py3-none-any.whl.metadata (2.8 kB)
2026-08-01T15:17:07.5972249Z Collecting rpds-py>=0.25.0 (from jsonschema>=3.0->altair!=5.4.0,!=5.4.1,<7,>=4.0->streamlit==1.57.0->-r requirements-ci.txt (line 11))
2026-08-01T15:17:07.6072789Z   Downloading rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.metadata (4.1 kB)
2026-08-01T15:17:07.6309304Z Collecting six>=1.5 (from python-dateutil>=2.8.2->pandas==3.0.3->-r requirements-ci.txt (line 5))
2026-08-01T15:17:07.6409917Z   Downloading six-1.17.0-py2.py3-none-any.whl.metadata (1.7 kB)
2026-08-01T15:17:07.6616786Z Downloading fastapi-0.136.1-py3-none-any.whl (117 kB)
2026-08-01T15:17:07.6759152Z Downloading httpx-0.28.1-py3-none-any.whl (73 kB)
2026-08-01T15:17:07.6883061Z Downloading jinja2-3.1.6-py3-none-any.whl (134 kB)
2026-08-01T15:17:07.7014645Z Downloading openpyxl-3.1.5-py2.py3-none-any.whl (250 kB)
2026-08-01T15:17:07.7222718Z Downloading pandas-3.0.3-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (11.3 MB)
2026-08-01T15:17:07.9060646Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.3/11.3 MB 61.1 MB/s  0:00:00
2026-08-01T15:17:07.9181704Z Downloading plotly-6.7.0-py3-none-any.whl (9.9 MB)
2026-08-01T15:17:08.0368535Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.9/9.9 MB 82.5 MB/s  0:00:00
2026-08-01T15:17:08.0473346Z Downloading pydantic-2.13.4-py3-none-any.whl (472 kB)
2026-08-01T15:17:08.0747024Z Downloading pypdf-6.14.2-py3-none-any.whl (349 kB)
2026-08-01T15:17:08.0896424Z Downloading pytest-9.0.2-py3-none-any.whl (374 kB)
2026-08-01T15:17:08.1024227Z Downloading ruff-0.15.13-py3-none-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (11.4 MB)
2026-08-01T15:17:08.2465199Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 79.0 MB/s  0:00:00
2026-08-01T15:17:08.2569501Z Downloading streamlit-1.57.0-py3-none-any.whl (9.2 MB)
2026-08-01T15:17:08.3724709Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 9.2/9.2 MB 79.4 MB/s  0:00:00
2026-08-01T15:17:08.3825056Z Downloading uvicorn-0.47.0-py3-none-any.whl (71 kB)
2026-08-01T15:17:08.3946335Z Downloading xlrd-2.0.2-py2.py3-none-any.whl (96 kB)
2026-08-01T15:17:08.4068739Z Downloading yfinance-1.3.0-py2.py3-none-any.whl (133 kB)
2026-08-01T15:17:08.4197455Z Downloading pydantic_core-2.46.4-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (2.1 MB)
2026-08-01T15:17:08.4459861Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 2.1/2.1 MB 76.5 MB/s  0:00:00
2026-08-01T15:17:08.4565497Z Downloading altair-6.2.2-py3-none-any.whl (797 kB)
2026-08-01T15:17:08.4612573Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 797.6/797.6 kB 190.4 MB/s  0:00:00
2026-08-01T15:17:08.4712903Z Downloading blinker-1.9.0-py3-none-any.whl (8.5 kB)
2026-08-01T15:17:08.4834207Z Downloading cachetools-7.1.6-py3-none-any.whl (16 kB)
2026-08-01T15:17:08.4953190Z Downloading click-8.4.2-py3-none-any.whl (119 kB)
2026-08-01T15:17:08.5074504Z Downloading gitpython-3.1.57-py3-none-any.whl (217 kB)
2026-08-01T15:17:08.5196677Z Downloading gitdb-4.0.12-py3-none-any.whl (62 kB)
2026-08-01T15:17:08.5317005Z Downloading httpcore-1.0.9-py3-none-any.whl (78 kB)
2026-08-01T15:17:08.5439517Z Downloading numpy-2.4.6-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (16.9 MB)
2026-08-01T15:17:09.1461781Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 16.9/16.9 MB 27.8 MB/s  0:00:00
2026-08-01T15:17:09.1570411Z Downloading pillow-12.3.0-cp311-cp311-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl (6.9 MB)
2026-08-01T15:17:09.2337585Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 6.9/6.9 MB 89.2 MB/s  0:00:00
2026-08-01T15:17:09.2440255Z Downloading pluggy-1.6.0-py3-none-any.whl (20 kB)
2026-08-01T15:17:09.2955347Z Downloading protobuf-7.35.1-cp310-abi3-manylinux2014_x86_64.whl (327 kB)
2026-08-01T15:17:09.3082303Z Downloading pydeck-0.9.3-py2.py3-none-any.whl (11.4 MB)
2026-08-01T15:17:09.4389135Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 11.4/11.4 MB 87.2 MB/s  0:00:00
2026-08-01T15:17:09.4490558Z Downloading requests-2.34.2-py3-none-any.whl (73 kB)
2026-08-01T15:17:09.4617769Z Downloading charset_normalizer-3.4.9-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (221 kB)
2026-08-01T15:17:09.4741793Z Downloading idna-3.18-py3-none-any.whl (65 kB)
2026-08-01T15:17:09.5059923Z Downloading smmap-5.0.3-py3-none-any.whl (24 kB)
2026-08-01T15:17:09.5189560Z Downloading tenacity-9.1.4-py3-none-any.whl (28 kB)
2026-08-01T15:17:09.5313016Z Downloading toml-0.10.2-py2.py3-none-any.whl (16 kB)
2026-08-01T15:17:09.5432145Z Downloading typing_extensions-4.16.0-py3-none-any.whl (45 kB)
2026-08-01T15:17:09.5555752Z Downloading urllib3-2.7.0-py3-none-any.whl (131 kB)
2026-08-01T15:17:09.5681249Z Downloading watchdog-6.0.0-py3-none-manylinux2014_x86_64.whl (79 kB)
2026-08-01T15:17:09.5802199Z Downloading annotated_doc-0.0.5-py3-none-any.whl (5.3 kB)
2026-08-01T15:17:09.5917039Z Downloading annotated_types-0.8.0-py3-none-any.whl (13 kB)
2026-08-01T15:17:09.6041834Z Downloading anyio-4.14.2-py3-none-any.whl (125 kB)
2026-08-01T15:17:09.6163746Z Downloading beautifulsoup4-4.15.0-py3-none-any.whl (109 kB)
2026-08-01T15:17:09.6284562Z Downloading certifi-2026.7.22-py3-none-any.whl (136 kB)
2026-08-01T15:17:09.6450850Z Downloading curl_cffi-0.16.0-cp310-abi3-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (13.5 MB)
2026-08-01T15:17:09.8124277Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 13.5/13.5 MB 80.0 MB/s  0:00:00
2026-08-01T15:17:09.8229309Z Downloading cffi-2.1.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.whl (217 kB)
2026-08-01T15:17:09.8361153Z Downloading frozendict-2.4.7-py3-none-any.whl (16 kB)
2026-08-01T15:17:09.9059212Z Downloading h11-0.16.0-py3-none-any.whl (37 kB)
2026-08-01T15:17:09.9183725Z Downloading httptools-0.8.0-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (464 kB)
2026-08-01T15:17:09.9309941Z Downloading iniconfig-2.3.0-py3-none-any.whl (7.5 kB)
2026-08-01T15:17:09.9428621Z Downloading itsdangerous-2.2.0-py3-none-any.whl (16 kB)
2026-08-01T15:17:09.9549488Z Downloading jsonschema-4.26.0-py3-none-any.whl (90 kB)
2026-08-01T15:17:09.9672776Z Downloading attrs-26.1.0-py3-none-any.whl (67 kB)
2026-08-01T15:17:09.9795726Z Downloading jsonschema_specifications-2025.9.1-py3-none-any.whl (18 kB)
2026-08-01T15:17:09.9912751Z Downloading markupsafe-3.0.3-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (22 kB)
2026-08-01T15:17:10.0032055Z Downloading multitasking-0.0.13-py3-none-any.whl (16 kB)
2026-08-01T15:17:10.0150017Z Downloading narwhals-2.24.0-py3-none-any.whl (461 kB)
2026-08-01T15:17:10.0276832Z Downloading packaging-26.2-py3-none-any.whl (100 kB)
2026-08-01T15:17:10.0400384Z Downloading peewee-4.3.0-py3-none-any.whl (179 kB)
2026-08-01T15:17:10.0523776Z Downloading platformdirs-4.11.0-py3-none-any.whl (23 kB)
2026-08-01T15:17:10.0645937Z Downloading pyarrow-25.0.0-cp311-cp311-manylinux_2_28_x86_64.whl (50.1 MB)
2026-08-01T15:17:10.6482004Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.1/50.1 MB 85.6 MB/s  0:00:00
2026-08-01T15:17:10.6593156Z Downloading pygments-2.20.0-py3-none-any.whl (1.2 MB)
2026-08-01T15:17:10.6714876Z    ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 1.2/1.2 MB 108.7 MB/s  0:00:00
2026-08-01T15:17:10.6811760Z Downloading python_dateutil-2.9.0.post0-py2.py3-none-any.whl (229 kB)
2026-08-01T15:17:10.6941248Z Downloading python_multipart-0.0.32-py3-none-any.whl (30 kB)
2026-08-01T15:17:10.7066926Z Downloading pytz-2026.3.post1-py2.py3-none-any.whl (508 kB)
2026-08-01T15:17:10.7196082Z Downloading referencing-0.37.0-py3-none-any.whl (26 kB)
2026-08-01T15:17:10.7316480Z Downloading rpds_py-2026.6.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (371 kB)
2026-08-01T15:17:10.7439433Z Downloading six-1.17.0-py2.py3-none-any.whl (11 kB)
2026-08-01T15:17:10.7557930Z Downloading soupsieve-2.9.1-py3-none-any.whl (37 kB)
2026-08-01T15:17:10.7676292Z Downloading starlette-1.3.1-py3-none-any.whl (73 kB)
2026-08-01T15:17:10.7797064Z Downloading typing_inspection-0.4.2-py3-none-any.whl (14 kB)
2026-08-01T15:17:10.8004830Z Downloading websockets-17.0.1-cp311-cp311-manylinux1_x86_64.manylinux_2_28_x86_64.manylinux_2_5_x86_64.whl (219 kB)
2026-08-01T15:17:10.8125954Z Downloading et_xmlfile-2.0.0-py3-none-any.whl (18 kB)
2026-08-01T15:17:10.8244739Z Downloading pycparser-3.0-py3-none-any.whl (48 kB)
2026-08-01T15:17:11.0257728Z Building wheels for collected packages: jarvis-finance
2026-08-01T15:17:11.0264404Z   Building editable for jarvis-finance (pyproject.toml): started
2026-08-01T15:17:11.1922197Z   Building editable for jarvis-finance (pyproject.toml): finished with status 'done'
2026-08-01T15:17:11.1923848Z   Created wheel for jarvis-finance: filename=jarvis_finance-0.1.0-0.editable-py3-none-any.whl size=1509 sha256=34e85f9ba60ff0a54397c84582e5de491aa4eb7daab312a835228b0f06a77854
2026-08-01T15:17:11.1925007Z   Stored in directory: /tmp/pip-ephem-wheel-cache-m5309xt2/wheels/ad/81/a6/5383a3c32505f4e59976cc011a336e07c6284dcaf35f5a7ea5
2026-08-01T15:17:11.1941969Z Successfully built jarvis-finance
2026-08-01T15:17:11.2898099Z Installing collected packages: pytz, multitasking, xlrd, websockets, watchdog, urllib3, typing-extensions, toml, tenacity, soupsieve, smmap, six, ruff, rpds-py, python-multipart, pypdf, pygments, pycparser, pyarrow, protobuf, pluggy, platformdirs, pillow, peewee, packaging, numpy, narwhals, MarkupSafe, itsdangerous, iniconfig, idna, httptools, h11, frozendict, et-xmlfile, click, charset_normalizer, certifi, cachetools, blinker, attrs, annotated-types, annotated-doc, uvicorn, typing-inspection, requests, referencing, python-dateutil, pytest, pydantic-core, plotly, openpyxl, Jinja2, httpcore, gitdb, cffi, beautifulsoup4, anyio, starlette, pydeck, pydantic, pandas, jsonschema-specifications, jarvis-finance, httpx, gitpython, curl_cffi, yfinance, jsonschema, fastapi, altair, streamlit
2026-08-01T15:17:24.2456504Z 
2026-08-01T15:17:24.2485275Z Successfully installed Jinja2-3.1.6 MarkupSafe-3.0.3 altair-6.2.2 annotated-doc-0.0.5 annotated-types-0.8.0 anyio-4.14.2 attrs-26.1.0 beautifulsoup4-4.15.0 blinker-1.9.0 cachetools-7.1.6 certifi-2026.7.22 cffi-2.1.0 charset_normalizer-3.4.9 click-8.4.2 curl_cffi-0.16.0 et-xmlfile-2.0.0 fastapi-0.136.1 frozendict-2.4.7 gitdb-4.0.12 gitpython-3.1.57 h11-0.16.0 httpcore-1.0.9 httptools-0.8.0 httpx-0.28.1 idna-3.18 iniconfig-2.3.0 itsdangerous-2.2.0 jarvis-finance-0.1.0 jsonschema-4.26.0 jsonschema-specifications-2025.9.1 multitasking-0.0.13 narwhals-2.24.0 numpy-2.4.6 openpyxl-3.1.5 packaging-26.2 pandas-3.0.3 peewee-4.3.0 pillow-12.3.0 platformdirs-4.11.0 plotly-6.7.0 pluggy-1.6.0 protobuf-7.35.1 pyarrow-25.0.0 pycparser-3.0 pydantic-2.13.4 pydantic-core-2.46.4 pydeck-0.9.3 pygments-2.20.0 pypdf-6.14.2 pytest-9.0.2 python-dateutil-2.9.0.post0 python-multipart-0.0.32 pytz-2026.3.post1 referencing-0.37.0 requests-2.34.2 rpds-py-2026.6.3 ruff-0.15.13 six-1.17.0 smmap-5.0.3 soupsieve-2.9.1 starlette-1.3.1 streamlit-1.57.0 tenacity-9.1.4 toml-0.10.2 typing-extensions-4.16.0 typing-inspection-0.4.2 urllib3-2.7.0 uvicorn-0.47.0 watchdog-6.0.0 websockets-17.0.1 xlrd-2.0.2 yfinance-1.3.0
2026-08-01T15:17:24.2499241Z 
2026-08-01T15:17:24.2499857Z [notice] A new release of pip is available: 26.1.2 -> 26.2
2026-08-01T15:17:24.2501257Z [notice] To update, run: pip install --upgrade pip
2026-08-01T15:17:24.4190645Z ##[group]Run set -euo pipefail
2026-08-01T15:17:24.4191094Z [36;1mset -euo pipefail[0m
2026-08-01T15:17:24.4191434Z [36;1mmkdir -p /tmp/financemanager-phase3-backend/runtime[0m
2026-08-01T15:17:24.4191915Z [36;1mpython -m pytest tests -q | tee /tmp/financemanager-phase3-backend/pytest.log[0m
2026-08-01T15:17:24.4192531Z [36;1mpassed_count=$(sed -nE 's/.*(^|[^0-9])([0-9]+) passed.*/\2/p' /tmp/financemanager-phase3-backend/pytest.log | tail -n 1)[0m
2026-08-01T15:17:24.4193023Z [36;1mtest -n "${passed_count}"[0m
2026-08-01T15:17:24.4193338Z [36;1mtest "${passed_count}" -ge 667[0m
2026-08-01T15:17:24.4220124Z shell: /usr/bin/bash --noprofile --norc -e -o pipefail {0}
2026-08-01T15:17:24.4220616Z env:
2026-08-01T15:17:24.4220921Z   PYTHONPATH: src
2026-08-01T15:17:24.4221187Z   JARVIS_FINANCE_ENV: test
2026-08-01T15:17:24.4221544Z   JARVIS_FINANCE_DB_PATH: /tmp/financemanager-phase3-backend/finance.sqlite3
2026-08-01T15:17:24.4222177Z   JARVIS_FINANCE_RUNTIME_DIR: /tmp/financemanager-phase3-backend/runtime
2026-08-01T15:17:24.4222548Z   JARVIS_FINANCE_WRITE_MODE: disabled
2026-08-01T15:17:24.4222923Z   pythonLocation: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:24.4223329Z   PKG_CONFIG_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib/pkgconfig
2026-08-01T15:17:24.4223737Z   Python_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:24.4224144Z   Python2_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:24.4224512Z   Python3_ROOT_DIR: /opt/hostedtoolcache/Python/3.11.15/x64
2026-08-01T15:17:24.4225021Z   LD_LIBRARY_PATH: /opt/hostedtoolcache/Python/3.11.15/x64/lib
2026-08-01T15:17:24.4225350Z ##[endgroup]
2026-08-01T15:17:38.0485132Z ........................................................................ [  8%]
2026-08-01T15:17:49.2942904Z ........................................................................ [ 16%]
2026-08-01T15:18:00.1708936Z ........................................................................ [ 24%]
2026-08-01T15:18:13.0810805Z ........................................................................ [ 33%]
2026-08-01T15:18:25.5671885Z ........................................................................ [ 41%]
2026-08-01T15:18:34.5192577Z ........................................................................ [ 49%]
2026-08-01T15:18:45.0443476Z ........................................................................ [ 57%]
2026-08-01T15:19:00.3770314Z ........................................................................ [ 66%]
2026-08-01T15:19:13.3949843Z ........................................................................ [ 74%]
2026-08-01T15:19:33.3392657Z ........................................................................ [ 82%]
2026-08-01T15:19:46.8731564Z ........................................................................ [ 90%]
2026-08-01T15:19:57.8286683Z ........................................................................ [ 99%]
2026-08-01T15:20:00.3202160Z .......                                                                  [100%]
2026-08-01T15:20:00.3203293Z =============================== warnings summary ===============================
2026-08-01T15:20:00.3204235Z ../../../../../opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/fastapi/testclient.py:1
2026-08-01T15:20:00.3206140Z   /opt/hostedtoolcache/Python/3.11.15/x64/lib/python3.11/site-packages/fastapi/testclient.py:1: StarletteDeprecationWarning: Using `httpx` with `starlette.testclient` is deprecated; install `httpx2` instead.
2026-08-01T15:20:00.3208221Z     from starlette.testclient import TestClient as TestClient  # noqa
2026-08-01T15:20:00.3208878Z 
2026-08-01T15:20:00.3209313Z -- Docs: https://docs.pytest.org/en/stable/how-to/capture-warnings.html
2026-08-01T15:20:00.3210592Z 871 passed, 1 warning in 154.98s (0:02:34)
2026-08-01T15:20:00.5607895Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-01T15:20:00.5609305Z Post job cleanup.
2026-08-01T15:20:00.6748290Z (node:2576) [DEP0040] DeprecationWarning: The `punycode` module is deprecated. Please use a userland alternative instead.
2026-08-01T15:20:00.6749284Z (Use `node --trace-deprecation ...` to show where the warning was created)
2026-08-01T15:20:00.7117757Z [command]/usr/bin/tar --posix -cf cache.tzst --exclude cache.tzst -P -C /home/runner/work/FinanceManager/FinanceManager --files-from manifest.txt --use-compress-program zstdmt
2026-08-01T15:20:01.3922042Z (node:2576) [DEP0169] DeprecationWarning: `url.parse()` behavior is not standardized and prone to errors that have security implications. Use the WHATWG URL API instead. CVEs are not issued for `url.parse()` vulnerabilities.
2026-08-01T15:20:02.3768071Z Sent 0 of 157106214 (0.0%), 0.0 MBs/sec
2026-08-01T15:20:03.2129537Z Sent 157106214 of 157106214 (100.0%), 81.6 MBs/sec
2026-08-01T15:20:03.4842359Z Cache saved with the key: setup-python-Linux-x64-24.04-Ubuntu-python-3.11.15-pip-1142f0e2496362389faab45cc2b2d5dacbb96b059f6c5143fd25b1b0407d64f2
2026-08-01T15:20:03.4970146Z Node 20 is being deprecated. This workflow is running with Node 24 by default. If you need to temporarily use Node 20, you can set the ACTIONS_ALLOW_USE_UNSECURE_NODE_VERSION=true environment variable. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
2026-08-01T15:20:03.4971663Z Post job cleanup.
2026-08-01T15:20:03.5766535Z [command]/usr/bin/git version
2026-08-01T15:20:03.5811126Z git version 2.54.0
2026-08-01T15:20:03.5882403Z Temporarily overriding HOME='/home/runner/work/_temp/8b0473f9-0c32-4e08-a286-97088534a746' before making global git config changes
2026-08-01T15:20:03.5883626Z Adding repository directory to the temporary git global config as a safe directory
2026-08-01T15:20:03.5884761Z [command]/usr/bin/git config --global --add safe.directory /home/runner/work/FinanceManager/FinanceManager
2026-08-01T15:20:03.5941530Z [command]/usr/bin/git config --local --name-only --get-regexp core\.sshCommand
2026-08-01T15:20:03.6002017Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'core\.sshCommand' && git config --local --unset-all 'core.sshCommand' || :"
2026-08-01T15:20:03.6211787Z [command]/usr/bin/git config --local --name-only --get-regexp http\.https\:\/\/github\.com\/\.extraheader
2026-08-01T15:20:03.6264855Z http.https://github.com/.extraheader
2026-08-01T15:20:03.6297490Z [command]/usr/bin/git config --local --unset-all http.https://github.com/.extraheader
2026-08-01T15:20:03.6338079Z [command]/usr/bin/git submodule foreach --recursive sh -c "git config --local --name-only --get-regexp 'http\.https\:\/\/github\.com\/\.extraheader' && git config --local --unset-all 'http.https://github.com/.extraheader' || :"
2026-08-01T15:20:03.6598706Z [command]/usr/bin/git config --local --name-only --get-regexp ^includeIf\.gitdir:
2026-08-01T15:20:03.6664257Z [command]/usr/bin/git submodule foreach --recursive git config --local --show-origin --name-only --get-regexp remote.origin.url
2026-08-01T15:20:03.7118936Z Cleaning up orphan processes
2026-08-01T15:20:03.7312849Z ##[warning]Node.js 20 is deprecated. The following actions target Node.js 20 but are being forced to run on Node.js 24: actions/checkout@v4, actions/setup-python@v5. For more information see: https://github.blog/changelog/2025-09-19-deprecation-of-node-20-on-github-actions-runners/
